﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DTO;
using BUS;
namespace QLDT
{
    public partial class frm_DMKhoa : DevExpress.XtraEditors.XtraForm
    {
        public frm_DMKhoa()
        {
            InitializeComponent();
        }
        public bool TTThemSua = true;
        private string makhoa_cu;

        public void load()
        {
            grid_DMKhoa.DataSource = BUS_Khoa.SelectKhoa();
            txt_DMMaKhoa.Enabled = false;
            txt_TenKhoa.Enabled = false;
            simpleBt_CapNhat.Enabled = simpleBt_Huy.Enabled = false;
            if (gridDMK.RowCount < 1)
            {
                simpleBt_Sua.Enabled = simpleBt_Xoa.Enabled = false;
            }
            else
                simpleBt_Sua.Enabled = simpleBt_Xoa.Enabled = true;
            simpleBt_Them.Enabled = true;
            Bindings();
        }
        public void Bindings()
        {
            txt_DMMaKhoa.DataBindings.Clear();
            txt_DMMaKhoa.DataBindings.Add("Text", gridDMK.DataSource, "MaKhoa");

            txt_TenKhoa.DataBindings.Clear();
            txt_TenKhoa.DataBindings.Add("Text", gridDMK.DataSource, "TenKhoa");

           
        }

        private void simpleBt_Them_Click(object sender, EventArgs e)
        {

            simpleBt_Them.Enabled = false;
            simpleBt_Sua.Enabled = false;
            simpleBt_Xoa.Enabled = false;
            simpleBt_CapNhat.Enabled = true;
            simpleBt_Huy.Enabled = true;

            txt_DMMaKhoa.DataBindings.Clear();
            txt_TenKhoa.DataBindings.Clear();

            txt_DMMaKhoa.Text = "";
            txt_TenKhoa.Text = "";

            txt_DMMaKhoa.Enabled = true;
            txt_TenKhoa.Enabled = true;

            TTThemSua = true;
        }

        private void simpleBt_Xoa_Click(object sender, EventArgs e)
        {
            bool kq;
            if (MessageBox.Show("Bạn có chắc sẽ xóa lớp " + txt_DMMaKhoa.Text + " hay không, nếu xóa thì toàn bộ thông thông tin liên quan sẽ mất.", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                kq = BUS_Khoa.deleteKhoa(txt_DMMaKhoa.Text);
                if (!kq)
                    XtraMessageBox.Show("Xóa thất bại", "Thông báo");
                else
                {
                    load();
                }
            }
            else
                load();
        }

        private void simpleBt_Sua_Click(object sender, EventArgs e)
        {

            makhoa_cu = txt_DMMaKhoa.Text;
            simpleBt_Them.Enabled = false;
            simpleBt_Sua.Enabled = false;
            simpleBt_Xoa.Enabled = false;
            simpleBt_CapNhat.Enabled = true;
            simpleBt_Huy.Enabled = true;

            txt_DMMaKhoa.DataBindings.Clear();
            txt_TenKhoa.DataBindings.Clear();


            txt_DMMaKhoa.Enabled = true;
            txt_TenKhoa.Enabled = true;
            
            TTThemSua = false;
        }

        public bool KTDulieu()
        {
            if (txt_DMMaKhoa.Text == "")
                return false;
            if (txt_TenKhoa.Text == "")
                return false;
            return true;

        }
        private void simpleBt_CapNhat_Click(object sender, EventArgs e)
        {
            if (!KTDulieu())
            {
                XtraMessageBox.Show("Nhập đầy đủ nga", "Thông báo");
                return;
            }
            DTO_Khoa khoa = new DTO_Khoa();
            khoa.MaKhoa = txt_DMMaKhoa.Text;
            khoa.TenKhoa = txt_TenKhoa.Text;
            
            if (TTThemSua)
            {

                if (BUS_Khoa.insertKhoa(khoa))
                    load();
                else
                    XtraMessageBox.Show("lỗi từ hệ thống, hãy liên hệ với bộ phận kỹ thuật, mã lỗi [simpleBt_CapNhat_Click]", "Thông báo");
            }
            else
            {
                if (BUS_Khoa.updateKhoa(khoa, makhoa_cu))
                    load();
                else
                    XtraMessageBox.Show("lỗi từ hệ thống, hãy liên hệ với bộ phận kỹ thuật, mã lỗi [simpleBt_CapNhat_Click]", "Thông báo");
            }
        }

        private void simpleBt_Huy_Click(object sender, EventArgs e)
        {
            load();
        }

        private void frm_DMKhoa_Load(object sender, EventArgs e)
        {
            load();
        }

        private void txt_DMMaKhoa_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                txt_TenKhoa.Focus();
        }

        private void txt_TenKhoa_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                simpleBt_CapNhat.Focus();
        }


    }
}